package at.fhooe.stefanirndorfer.event;


public interface ListenerStrategy {
	public <T extends EventListener> void removeListener(T eventListener,
			Class<? extends Event<T>> type);

	public void removeAllListeners();

	public <T extends EventListener> void addListener(T eventListener,
			Class<? extends Event<T>> type);

	public <T extends EventListener> void fireEvent(Event<T> event);
}
